perm filename NS.ME[S,DOC]9 blob
sn#133539 filedate 1974-12-02 generic text, type C, neo UTF8
COMMENT ā VALID 00026 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00005 00002
C00008 00003 Contents Page 0
C00011 00004 News Service Page 1
C00015 00005 The Hot Line Program--HOT Page 2
C00019 00006 The News Service Program--NS Page 3
C00023 00007 Keyword Expressions Page 4
C00028 00008 Keyword Expressions Page 5
C00033 00009 Keyword Expressions Page 6
C00037 00010 Dates Page 7
C00041 00011 The Time Range Page 8
C00045 00012 The Time Range Page 9
C00049 00013 Switches Page 10
C00054 00014 Switches Page 11
C00059 00015 Presentation of the News Page 12
C00064 00016 Presentation of the News Page 13
C00068 00017 Presentation of the News Page 14
C00073 00018 Mnemonic Commands Page 15
C00077 00019 Mnemonic Commands Page 16
C00081 00020 Command File Input Page 17
C00085 00021 Command File Input Page 18
C00089 00022 Output Files Page 19
C00093 00023 Command Summary Page 20
C00097 00024 Command Summary Page 21
C00101 00025 Command Summary Page 22
C00105 00026 Comments on the Format of News Service Stories Page 23
C00110 ENDMK
Cā;
STANFORD ARTIFICIAL INTELLIGENCE LABORATORY 1 Nov 1974
OPERATING NOTE 72.2
THE NEWS SERVICE SYSTEM
By Martin Frost
ABSTRACT:
Stories from two news wires (the Associated Press and the New York
Times News Service) are collected and stored on disk as they come in
and can be read selectively through the use of the News Service
program NS. To read the news using this program, the user types
keyword expressions to specify the stories of interest and gives
display commands to have particular stories presented. The News
Service system features the following: treatment of all but the most
common words as keywords; retention of the news for a number of days
limited only by disk space available (the user can specify which
days' news he wants to examine); choice of reading either or both of
the news wires; and display news presentation for users of Stanford
displays.
Another program, HOT, is used to type out the news from either wire
as it is coming in.
The Associated Press news report is made available in these programs
for demonstration and research purposes only and caution must be
exercised to insure that the news is not published or broadcast or
publicly displayed or used for any commercial purpose.
Contents Page 0
C O N T E N T S
SECTION PAGE
The News Service System . . . . . . . . . . . . . . 1
The Hot Line Program--HOT . . . . . . . . . . . . . 1
The News Service Program--NS . . . . . . . . . . . . 2
Command lines . . . . . . . . . . . . . . . . . 3
Keyword Expressions . . . . . . . . . . . . . . . 3
Dates . . . . . . . . . . . . . . . . . . . . 6
The Time Range . . . . . . . . . . . . . . . . . 8
Switches . . . . . . . . . . . . . . . . . . . 9
Presentation of the News . . . . . . . . . . . . . 11
Mnemonic Commands . . . . . . . . . . . . . . . . 14
Headline Stories . . . . . . . . . . . . . . . . 16
Command File Input . . . . . . . . . . . . . . . 17
Output Files . . . . . . . . . . . . . . . . . 18
<ESCAPE>I Manual Interruptions . . . . . . . . . . . 19
Command Summary . . . . . . . . . . . . . . . . 20
Using NS . . . . . . . . . . . . . . . . . . . 22
Comments on the Format of News Service Stories . . . . . . 23
News Service Page 1
The News Service System
We have two news wires (the Associated Press and the New York Times
News Service) over which we get national and international news (no
local news). The lines are read by a program that takes incoming
news stories and files them away on the disk. As each story is
filed, it is categorized by the words occurring in it. To retrieve
selected stories the user types to the NS program (described below) a
keyword expression indicating what words or combinations of words the
stories of interest should (or should not) contain.
Individuals can access the news through two programs, NS and HOT.
This document describes the use of these programs for reading the
news.
The Hot Line Program--HOT
The program HOT provides the user a hot line to the news. When
running from a Stanford display, HOT splits the screen, using one
half for each of the two news wires. On other terminals HOT types
out the news from one of the wires--the user can select the wire to
be typed out and can in fact switch between the wires.
To start up HOT, type the monitor command: HOT. While HOT is
running, the following commands are meaningful:
HOT COMMAND EFFECT
EXIT<cr> Exit.
<cr> Change the news wire being typed out.
NYT<cr> Type out NYT (New York Times) news only.
AP<cr> Type out AP (Associated Press) news only.
<ESC>I Redraw news text and titles on displays only.
DISPLAY<cr> Display both NYT and AP news on displays only.
?<cr> Present this list of commands and meanings.
Each command may be abbreviated to one character. On displays, that
one character may be typed with [CONTROL] and/or [META] instead of
followed by <cr>. For instance, [CONTROL]E will exit.
Any of the commands above may be given in the monitor command line by
typing "HOT;" followed by the command desired. For example,
The Hot Line Program--HOT Page 2
"HOT;NYT" will start up HOT in non-display mode typing out only the
NYT news.
If the hot line is down (for instance for testing of the news
system), then HOT will tell you so and then stop. There are times
when no news is coming in; at such times, HOT will of course type out
nothing.
The News Service Program--NS
The program NS allows quick access to stored news from any given
period of time. This program is started by typing the monitor
command: NS. The user can then select stories from the news by
typing in keyword expressions that indicate which words or
combinations of words a story must contain to be of interest. The
program will respond by telling the user how many stories match the
given expression, and the first part of the first such story (if
there are any) will be presented to him.
As each story comes in over one of the wires, it is categorized by
all the words occurring in it except for a small class of very common
words (such as "the", "a", "and", etc.). Before a word is used to
categorize or retrieve stories, if any one of the suffixes -S, -ES,
-ING, -ED and -LY is present, that suffix is removed so that
retrieval will not depend on the user's typing the exact form of the
word (singular or plural noun or verb; present or past tense or
participle of a verb) that occurs in the story. These suffixes are
removed in all their forms: when a letter is doubled before adding
-ING or -ED, the doubled letter is removed along with the -ING or
-ED; and suffixes formed when a final -Y is changed to -I before
adding -ES or -ED are removed correctly.
When a keyword expression is entered by the user, it is compared
against the categorization lists to find all the stories that fit the
expression. The keywords used in an expression can be any words
(consisting of letters only) except the few common words specifically
excluded from categorizations. If a common word is used in an
expression by mistake, the program will give a warning to that
effect.
Presentation of news to users on Stanford displays is done by
displaying a screenful of text at a time. News is presented on other
terminals by typing out a portion of a story at a time.
The News Service Program--NS Page 3
(In all expressions and commands typed to NS, no distinction is made
between upper-case letters and lower-case letters.)
Command lines
Command lines to NS consist of a command character possibly followed
by a text argument. Some commands allow a numerical argument (in
decimal) to precede the command character. Any ALPHABETIC command
character that takes a following text argument MUST be separated from
its text argument by a space. For example, LNEWS<cr> is illegal; use
L NEWS<cr> instead. Leading spaces are also allowed (and are
ignored) for all other text arguments.
On displays, command characters can be typed with [CONTROL] and/or
[META] instead of being followed by a carriage return. Any text
arguments, however, must be followed by carriage return.
Keyword expressions are entered as text arguments of the command
character space. The command character colon (:) takes as its text
argument a mnemonic command name. Keyword expressions, mnemonic
commands and the other command characters will be explained later.
When a command character which requires a text argument is typed
without it, an informative prompt will be made by NS to explain what
the argument should be and NS will then await typing of the argument.
Help can be obtained from NS by typing the command character question
mark (?) followed by the name of a switch, mnemonic command, or help
topic. Typing a question mark by itself will cause NS to explain the
main command characters and list the available help topics.
Type altmode to abort a partially-typed command.
Keyword Expressions
To retrieve stories using NS, type the command character space
followed by a KEYWORD EXPRESSION, which may be either a single
keyword or an expression containing keywords and the operators +, -,
and *. Each keyword represents the set of all the stories it occurs
in. And the operators represent the set operations UNION (+),
INTERSECTION (*), and SET DIFFERENCE (-), which are performed on the
Keyword Expressions Page 4
sets of stories which the keywords represent. Thus, if you want all
stories that mention both President and Congress, you should use the
keyword expression "PRESIDENT * CONGRESS"; the expression
"PRESIDENT + CONGRESS" represents all stories that mention either
President or Congress; and "PRESIDENT - CONGRESS" represents all
stories that mention President but not Congress. The precedence of
operators is the normal one: * takes precedence over + and -, which
have equal precedence. Operators with equal precedence are evaluated
from left to right. Parentheses may be used freely in keyword
expressions.
To clarify all this a little, here are a few examples:
Keyword Expression Meaning
--------------------------------- --------------------------------
(PRESIDENT-CONGRESS+WAR)*IMPEACH All stories that mention both
IMPEACH and either (1) PRESIDENT
and not CONGRESS or (2) WAR (and
possibly CONGRESS).
CONGRESS-PRESIDENT-WAR-IMPEACH All stories that mention
CONGRESS but that mention none
of PRESIDENT, WAR and IMPEACH.
CHICAGO*PLANE + DETROIT*CAR - WAR All stories that mention either
both CHICAGO and PLANE but not
WAR, or both DETROIT and CAR but
not WAR.
To facilitate finding specific stories, a couple of special forms are
permitted to be used as keywords in keyword expressions. The first
of these is used to represent all those stories that have certain
news service sequence numbers. (For an explanation of sequence
numbers, see the section entitled "Comments on the Format of News
Service Stories".) To represent all stories with sequence numbers
from N to M, use the form "#N:M". This form may occur anywhere a
keyword may occur in an expression. The form "#N:N" represents all
stories with sequence number N and may be abbreviated "#N".
Furthermore, the form "#0:99999" represents all stories and may be
abbreviated just "#". In the form "#N:M", if N>M then this form
represents all stories with sequence numbers greater than or equal to
N or less than or equal to M.
The second special form consists merely of a decimal number appearing
in place of a keyword. If a number K appears as the FIRST argument
Keyword Expressions Page 5
of an operation, or as the only term in a keyword expression, then
that number represents the most recent K stories in the news. For
example, "9 * PRESIDENT" represents, of the latest 9 stories, any
that mention President; and "5" represents the latest 5 news stories
(from each wire, or 10 stories altogether if both wires are
selected). If a number K appears as the SECOND argument of any
operation, then that number represents the K most recent stories of
the other (first) argument of the operation. For example,
"PRESIDENT * 10" represents the 10 most recent stories that mention
President.
Below are some examples of these special forms in use.
#2 + #202 All stories with either of these
sequence numbers. (These are the
usual sequence numbers of the
AP news digests.)
#325:23 All stories with sequence number
greater than or equal to 325 or
less than or equal to 23.
# All stories. Useful if you want
to peruse through the news.
#321*BULLETIN Stories with sequence number 321
that contain the word BULLETIN.
5 - PRESIDENT Of the latest 5 stories, all
that do not mention PRESIDENT.
AP*NEWS*DIGEST*1 The latest AP news digest.
When you enter a keyword expression (which must follow the command
character space), the program makes up a list of all the stories that
fit the expression. This list is called your CURRENT STORY LIST.
When you type the next keyword expression, a new current story list
is generated (unless no stories fit your new expression) and your
former current story list is saved as your PREVIOUS STORY LIST. If
you want to get back the previous story list, use the :EXCHANGE
mnemonic command (see the section "Mnemonic Commands") which
exchanges your current and previous story lists. This feature is
especially useful if you are examining news from several days: For
each wire being used, the program must read in one large file for
each day's news under consideration every time you enter a new
keyword expression. Retrieving your previous story list is thus much
faster than reconstructing it through a keyword expression,
especially when news from several days is being considered.
Keyword Expressions Page 6
Your current story list can be modified without typing again the
keywords you used to get it. If a keyword expression starts with +,
-, or *, the missing (first) operand is taken to be the last keyword
expression you typed. For example, if your last expression was
"PRESIDENT", you can use the expression "*VIETNAM" to get stories
that mention both PRESIDENT and VIETNAM.
A keyword expression can be preceded and/or followed by switches,
which affect the evaluation of the expression. There are date, time,
and mode switches, all of which are explained in the section
"Switches".
If you want to use exactly the same expression you last used, the
command character tab can be used optionally followed by any date,
time, or temporary mode switches. Also, on displays [META]<cr> will
reload your line editor with the last command line containing a
keyword expression.
NS keeps track of the stories you have seen. When a new keyword
expression is evaluated, any stories found that you have already
looked at are removed from the new current story list. The number of
stories so removed is reported along with the number of other stories
found. To inhibit this removal of stories already seen, change from
the initial /-AGAIN mode to /AGAIN mode. See the /AGAIN switch in
the section "Switches".
Dates
When started up, NS expects to reference only the news that has come
in today. However, by using the date switches you can select what
range of dates is to be considered in constructing a story list from
a keyword expression. Evaluating an expression for a range of
several days takes longer than evaluating one for just today because
a separate data file must be read in by the program for each wire for
each day in the range.
The date range can be set with the date switches. The /FROM switch
sets the beginning date of this range, the /TO switch sets the ending
date of the range, and the /ON and /DURING switches set both the
beginning and ending dates. Each of these switches requires a date
to be typed after the switch. This date can take any of the
following example forms:
Dates Page 7
MEANING AS MEANING AS
DATE BEGINNING DATE ENDING DATE
TODAY today today
YESTERDAY yesterday same
SUNDAY last Sunday before today same
MONDAY last Monday before today same
... ... ...
SATURDAY last Saturday before today same
24-MAY-74 24 May 1974 same
74-MAY-24 24 May 1974 same
MAY-24-74 24 May 1974 same
MAY-24-1974 24 May 1974 same
...
MAY-24 24 May of current year same
24-MAY 24 May of current year same
MAY-74 1 May 1974 31 May 1974
MAY 1 May of current year 31 May of current year
24 24th day of current month same
74 1 January 1974 31 December 1974
1974 1 January 1974 31 December 1974
No spaces are allowed in the middle of a date. Dashes are used to
connect parts of a date (month, day and year), which can be in any
order. Names of months and days of the week and the words "TODAY"
and "YESTERDAY" may be abbreviated to three letters (or less if
unambiguous).
Here are some date switches with dates and their effect on the date
range.
/ON TODAY Date range becomes today only.
/DURING MAY Date range runs from 1 May to 31 May of current
year.
/DURING 74 Date range runs from 1 Jan 1974 to 31 Dec 1974.
/FROM TUES/TO TOD (This is two switches in same command.) Date
range is from last Tuesday (a week ago if today
is a Tuesday) to today.
/ON WED Date range is last Wednesday only.
/ON 24-MAY Date range is 24 May of current year.
/ON YESTERDAY Date range is yesterday only.
The Time Range Page 8
The Time Range
In addition to being able to specify the range of dates from which
news is to be retrieved, the user can choose to consider only news
that has come in after a given time and/or before another given time.
The combined time/date range extends from a specifiable time on the
beginning date to another specifiable time on the ending date. In
evaluating keyword expressions, only stories that have come in during
the time period given will be allowed to match the expression.
The beginning time is set with the /AFTER switch and the ending time
with the /BEFORE switch. The beginning time is cleared whenever a
beginning date is given using a date switch; the ending time is
similarly cleared whenever an ending date is given. (The times are
cleared even if the new dates specified are the same as the old
ones.)
The time range feature is especially useful if you read the news more
than once on a given day and do not want to see the same stories
twice. For instance, if you read the news in the afternoon and have
run NS at, say, 11am, then typing "/AFTER 11" will prevent the
program from retrieving stories that you have already read (except
when new parts have come in and have been attached to earlier
stories).
The /AFTER and /BEFORE switches must be followed by a time (Pacific
Time) in one of the following example formats:
TIME MEANING TIME MEANING
0000 midnight 2400 midnight (day later)
0500 5:00am 8:34a 8:34am
0612 6:12am 9:45 9:45am
11 11:00am 1056AM 10:56am
12 noon 12:21 12:21pm
13 1:00pm 2:22p 2:22pm
1311 1:11pm 3:23pm 3:23pm
435PM 4:35pm
The times 12am and 12pm, being somewhat ambiguous, are illegal: use 0
or 24 for midnight and 12 for noon. Note that the times 0000 on
Wednesday and 2400 on Tuesday are the same, but 0 and 24 Wednesday
are a day apart.
After 9pm Pacific Time new stories are filed under the following
The Time Range Page 9
day's date. Thus if you have no time limits and your date range is
/FROM MONDAY/TO TUESDAY, then you may get stories with times anywhere
from 9pm SUNDAY to 9pm TUESDAY.
The :DATES mnemonic command will type out your current time/date
range. Also, if you change the time/date range or if a keyword
expression is about to be evaluated for more than a two day range,
the time/date range will be typed out.
Switches
A keyword expression (command character space) can be preceded and/or
followed by switches. A switch is a slash (/) followed by the name
of the switch, possibly followed by an argument for the switch.
Switches are used for setting the times and dates for which stories
are to be retrieved and for setting the modes in which stories will
be presented.
Switches that set modes of presentation can be set temporarily or
permanently. Any mode switches that FOLLOW a keyword expression on a
command line are interpreted as TEMPORARY and are in effect only
during evaluation of the current keyword expression--after that the
permanent switch values take effect again. Any mode switches that
PRECEDE a keyword expression or that occur alone without any keyword
expression are made PERMANENT. To enable a mode, type a slash (/)
followed by the name of the switch, e.g., "/CHRONO". To disable a
mode, type a slash (/) followed by a minus sign (-) and the name of
the switch, e.g., "/-CHRONO".
The currently available switches are listed and explained below.
Switch names can be abbreviated to any extent that leaves them
unambiguous.
TYPE SWITCH MEANING
Date Switches Each of these switches must be followed by a date
argument. The argument format is explained above
in the section "Dates". The effect of a DATE
switch is PERMANENT until changed by another date
switch.
/FROM The argument following this switch specifies the
beginning date in the range of dates for which
stories are to be retrieved. This switch clears
any beginning time given in a previous command
line.
Switches Page 10
/TO The argument following this switch specifies the
ending date in the range of dates for which stories
are to be retrieved. This switch clears any ending
time given in a previous command line.
/ON The argument following this switch specifies the
entire date range. This switch clears any
beginning and ending times given in previous
command lines.
/DURING This switch is identical to the /ON switch.
Time Switches Each of these switches must be followed by a time
argument. The argument format is explained above
in the section "The Time Range". The effect of a
TIME switch is PERMANENT until changed by another
time switch or cleared by a date switch.
/AFTER The argument following this switch specifies the
beginning time on the beginning date.
/BEFORE The argument following this switch specifies the
ending time on the ending date.
Mode Switches Each of these can occur either in a positive sense
(without a minus sign) or in a negative sense (with
a minus sign). A mode switch is TEMPORARY in
effect only when occurring after a keyword
expression; other occurrences are PERMANENT. The
initial modes in effect when NS starts up are:
/AP /NYT /-AGAIN /CHRONO /DPY /-HEADLI
/AP Use the Associated Press news when evaluating a
keyword expression. In /-AP mode, no AP stories
will be checked against expressions. This switch
and the /NYT switch below are independent.
Together they determine what combination of news
wires is used as the source of stories.
/NYT Use the New York Times News Service stories when
evaluating a keyword expression. In /-NYT mode, no
NY Times stories will be checked against
expressions. See also the /AP switch above.
/AGAIN Do not remove from new story lists the stories that
have already been presented (in part or in whole)
to the user. In /-AGAIN mode (the default), all
stories you have actually seen are removed from
each new current story list generated; this
prevents stories that you have already read from
being retrieved again by new keyword expressions.
When a new part (follow-up story) is added to a
story already seen, the whole story is then marked
as unseen so that you can access the new part.
Switches Page 11
When you exit from NS, the stories you have seen
are remembered in a TMPCOR file, and when you next
use NS (from the same job) this file is read to
restore the list of stories already seen. See also
the :UNSEEN mnemonic command, which marks all
stories as unseen.
/CHRONO Construct story lists with the stories in
chronological order (oldest first). /-CHRONO
causes story lists to be constructed in reverse
chronological order.
/DPY This switch is meaningful only when the program is
running on a Stanford display. Such a display in
/-DPY mode will be treated like a non-display.
/HEADLI For each story list constructed with two or more
stories, a headline story is added at the beginning
of the list. This headline story will contain the
first few lines of each story in the list. The
positive sense of this switch takes an optional
argument consisting of an equals sign (=) followed
by a number specifying the requested number of
headline-story lines devoted to each real story
(e.g., "/HEADLI=5"). This number should be between
1 and 8 inclusive. If the argument is omitted, the
default number of lines per story will be used;
this default is currently 3. See the section
"Headline Stories".
Presentation of the News
Stories are presented to the user in an amount called a frame.
If you are running NS from a Stanford display, each frame is
a screenful of text (about 30 lines) and a single story can
be made up of from one to several frames, only one of which
can be displayed at a time. Consecutive frames of a story
overlap by half a screenful. A double arrow (ā) marks the
middle of the screen to indicate where text will move to when
the next frame is displayed.
If you are running NS from some other kind of terminal, the
first frame contains the first five lines of the story.
(This lets you see what the story is about before the rest of
it is typed out.) The remainder of the story makes up the
second frame unless you have used the :FRAME mnemonic command
Presentation of the News Page 12
to indicate the number of lines you want the second and
subsequent frames to contain. For instance, if you have said
"9:FRAME" then each frame after the first one will have 9
lines, until either the end of the story is reached or about
20 frames have been used. In the latter case, the rest of
the story will all be included in the last frame, which thus
may be longer than the frame size you have indicated; this
will not happen unless you have chosen a very small frame
size (like 4 or 5). The purpose of having a settable frame
size is to allow users of display terminals (at Stanford or
elsewhere) to have the typeout stop before unread parts have
gone off screen.
After NS has presented a frame of a story, it will await another
command. There are several frame changing command characters used to
move around in your current story list.
Each story in the current story list is actually made up of one or
more news service stories which have been linked together by the NS
system. Each one of the news service stories is called one PART of
the story from your story list. The frame changing commands are
oriented towards displaying either another frame of the same part,
another part of the same story or another story in the main list.
Furthermore, for each command that moves you forward a frame, part or
story, there is a command that moves you backward a frame, part or
story. Thus there are the following six basic frame changing
commands, each of which can be preceded with a numerical argument.
These six commands appear on the keyboard in two adjacent columns of
three characters each. On Stanford displays, these command characters
activate immediately without any control bits or carriage return.
U Advance to the next story in the main story list. If this
command has a numerical argument, advance that many stories
in the main list.
I Same as U but backup in main story list instead of advancing.
- - -
J Advance to the next part of the current story. If current
part is the last one, advance to first part of next story.
If this command has a numerical argument, advance that many
parts in the current story, but not beyond the last part of
this story.
K Same as J but backup one or more parts instead of advancing.
If current part is the first one, backup to the last part of
Presentation of the News Page 13
the previous story. With an argument, do not backup past
first part of current story.
- - -
M Advance to the next frame of the current part. If current
frame is last one, advance to first frame of next part (or
next story if no more parts). With an argument, advance that
many frames in current part without going beyond the last
frame of this part.
, (comma) Same as M but backup one or more frames instead of
advancing. If current frame is first one of this part,
backup to the last frame of the previous part (or last frame
of last part of previous story if current part is first part
of story). With an argument, do not backup beyond the first
frame of the current part.
On non-displays, typing just a carriage return as a command advances
to the next frame exactly like the M command above. On displays, no
carriage return is used with frame-changing commands.
On displays, typing one of the above six command characters with the
[TOP] key held down is the same as typing that command with an
argument of 99999. This will advance (or backup) to the last (first)
frame, part or story depending on the command.
For searching your current story list for a keyword or other
character string, there are two groups of three command characters
each. One group is for reading the string to be searched for and
then searching for it; the other group is for searching for a
previously specified string. Within each group, there is one command
for searching the whole story list, one for searching the current
story (including all of its parts), and one for searching just the
current part. These six commands also appear on the keyboard in two
adjacent columns of three characters each, as shown below.
CHAR MEANING AS COMMAND CHARACTER
T Read search string and search for it in current story list.
G Read search string and search in current story (all parts).
B Read search string and search only the the current part.
Y Search current story list for previous search string.
H Search current story (all parts) for previous search string.
N Search current part for previous search string.
Presentation of the News Page 14
Any of the six command characters above may be preceded by a decimal
argument which specifies how many occurrences of the string to search
for; the last occurrence will be displayed if enough are found. Each
of the first three command characters above (T,G,B) takes a search
string, which must be separated from the command character by a
space. For example, T GOOD<cr> will search your story list for GOOD.
For all six search commands, if there is no search string, the first
keyword in your last expression will be used as the search string.
Only occurrences of the search string preceded by a non-letter will
be found. In search strings, a space will match any number of
consecutive characters all among: space, comma, period, carriage
return, linefeed; the character down-arrow (ā) will match only
carriage return followed by linefeed. Searching starts from the
current part or from the last place in that part the same string was
found.
Mnemonic Commands
There are several special commands which use the command character
colon (:) followed by a command name. These are the mnemonic
commands and they are described separately below. Some take an
optional numeric argument, which should precede the colon (e.g.,
"15:FRAME"). The command names can be abbreviated provided they
remain unambiguous.
MNEMONIC
COMMAND MEANING
:UNSEEN Pretend that no stories have been presented to the
user. This resets the list of stories already seen to
null so that no stories will be removed from your next
current story list for already having been seen.
Stories seen after use of this mnemonic command will
nevertheless be added to the (newly cleared) list of
stories seen, and the state of the /AGAIN mode switch
(which see above) is unaffected by this switch.
:FRAME Set the frame size for teletype-mode news presentation
to the number of lines indicated by the numerical
argument. For example, "15:FRAME" will cause the
second and subsequent frames of each story typed out to
contain 15 lines (until the end of the story). This
command without an argument (":FRAME") resets the frame
size to the default of infinity. See the explanation
Mnemonic Commands Page 15
of frame size at the beginning of the section
"Presentation of the News".
:HELP Present some information on the use of NS.
:SWITCH Type out the names of all the switches.
:MODES Type out the current mode switch settings.
:DATES Type out the current time/date range and the oldest
date for which news is available. See the section
"Dates".
:REVERSE Reverse the order of the current story list (changing
the order of only that list from chronological to
reverse chronological or vice versa).
:COUNT Type out the number of stories in the current story
list.
:EXCHANGE Exchange the current story list and the previous story
list. Then type out the number of stories in the new
current story list.
:HEADLINES Present the headline story for the current story list,
generating that headline story if necessary. This
command takes an optional numeric argument that
specifies the number of lines of headline story to be
devoted to each real story, e.g., "5:HEADLINES". See
the section "Headline Stories".
:DSTORY Delete the current story from your current story list.
This is mainly useful if you want to output your
current story list to a file or a printer and there are
a few stories you do not want to output. You can
delete those stories with this and/or the next mnemonic
command.
:DPART Delete the current part from your current story list.
This is similar to :DSTORY but only deletes one part of
the current story instead of all of its parts.
:NOTICE Present the NS notice of the day (which is
automatically presented when NS starts up). That
notice is used to inform users of new and changed
features of NS.
Mnemonic Commands Page 16
:COMMANDS Type out the names of all of these mnemonic commands.
Type ?COMMANDS to get a brief explanation of each one.
Headline Stories
Through use of either the /HEADLI mode switch or the :HEADLINES
mnemonic command, a special headline story can be generated which
will include the first few lines of each story in your main story
list. Such a headline story can allow you to choose which stories
you want to read in more detail.
The headline story is created in core by reading in the first few
lines of each main story and combining this text into the headline
story. The headline story is not actually created until you ask to
see it. To create this story requires NS to do about 5 disk
operations (as counted in the wholine) per main story in the list.
Thus if there are several hundred stories, it will take NS several
seconds to create this story. However, once the story is created, it
is kept in core until you change story lists. The headline story is
inserted at the front of the story list and is referred to as story 0
in the list.
Text is packed into the headline story as tightly as possible with
carriage returns, linefeeds, and redundant spaces omitted. The first
line of each entry in the headline story begins with the number of
the particular story within your main story list. This is followed
by the story's sequence number and the day of the month the story is
from. Subsequent lines for the same story's entry are indented. The
number of lines of headline story devoted to each story in the list
is always between 1 and 8 and is determined either by the user in an
argument to the /HEADLI switch or to the :HEADLINES mnemonic command
or by the program if such an argument is not given or is
unreasonable. The default number of lines of headline story
allocated to each story is currently 3. If there are more stories
than can be included in the headline story, the headline story is
made up of stories from the front of the story list until space runs
out, at which point "..." is placed at the end of the headline story
to indicate that it is incomplete.
If you type <ESC>I (on a Stanford display) while a headline story is
being made, the headline story will be left incomplete (and marked so
with "...") and then presented to you.
Command File Input Page 17
Command File Input
NS can be made to read keyword expressions automatically from a disk
file, pausing to let the reader examine each story list before the
next expression is read. To use this method of input, the reader
should set up a command file containing a line which begins "NS:".
The keyword expressions should follow the "NS:" with different
expressions separated by commas (,) and the last expression followed
by a semicolon (;). Carriage returns, linefeeds, formfeeds (page
marks), tabs and nulls are all discarded when appearing in an
expression read from a command file. Probably the most convenient
file to use for this purpose is the file OPTION.TXT, which can also
be used by other programs for other special options. The following
two command characters invoke reading from a command file.
CHAR MEANING AS COMMAND CHARACTER
@ Open the following command file. Then read and evaluate the
first keyword expression from the file. The default command
filename OPTION.TXT is used if no filename is given. The
default extension .TXT is used if no extension is given.
Q Read another keyword expression from the open command file,
if any.
For example, @INP<cr> will open the file INP.TXT, look for a line
beginning "NS:" and then read the keyword expression following. The
command @INP.<cr> will open and read from the file INP. Just @<cr>
will open and read from OPTION.TXT.
Every keyword expression read from a command file will be typed out
preceded by an at-sign (@) to indicate that it came from the file.
If you hit the end of the current story list with any of the U,J,M
command characters, another expression will automatically be read
from your open command file, if any.
Here is a sample command file (OPTION.TXT):
LOGIN: WHO;
NS: AP*NEWS*DIGEST/-CHRONO/-NY/AP,
BULLETIN+URGENT,(TRAIN+PLANE)*CRASH;
LOGOUT: ME;
This file contains three keyword expressions. The first one
Command File Input Page 18
("AP*NEWS*DIGEST/-CHRONO/-NY/AP") will present the latest AP News
Digest. The second expression is "BULLETIN+URGENT" and the last one
is "(TRAIN+PLANE)*CRASH".
Output Files
Three command characters are available for outputting stories to a
disk file or to one of the printers. Each of these characters takes
a following text argument which specifies the output device and
filename.
CHAR MEANING AS COMMAND CHARACTER
O Output the entire current story list.
L Output the current story (with all of its parts).
. (Period) Output just the current part.
Follow any of the above command characters with a space and either
LPT: (for spooling on the line printer)
XGP: (for spooling on the XGP)
OR a disk filename (for output to a file). The device names can be
abbreviated but the colon (:) must be present. The default output
file extension .NS is used if no extension is given. To exemplify
this, L FILEX<cr> will output your current story (with all of its
parts) to the disk file FILEX.NS on your current disk area (alias);
and O LPT:<cr> will spool the entire current story list on the line
printer. When just spooling is done, the stories are written in a
file on your real (logged-in) disk area with a name like $NEWS0.NS,
which will be spooled and deleted.
A disk filename can be followed by one of the following switches to
specify what action is to be taken if the file already exists:
/REPLACE
/EXTEND
/ABORT
If none of these is present and the file already exists, you will be
asked which of these actions should be taken.
Also, to spool an output file which you want to keep, follow the
filename with either
/SPOOL (for spooling on the LPT)
or /XSPOOL (for spooling on the XGP).
If you type <ESC>I (on a Stanford display) while NS is outputting
Output Files Page 19
stories to a file (whether or not for spooling), the output will be
discarded and any spooling suppressed.
Each story output to a file (whether for spooling or not) will be
followed in the file by a row of stars (*'s). Individual parts of
the same story will be separated by rows of dashes (-'s). To let you
know how far the output has gotten, when the first (or only) part of
a story is output, a dollar sign ($) will be typed on your terminal
and as each subsequent part of the same story is output, a dash (-)
will be typed out.
<ESCAPE>I Manual Interruptions
Certain operations done by NS may occasionally take long to complete.
The user (of a Stanford display) can interrupt certain such
operations by typing <ESC>I. This will cause NS to stop what it is
doing at the next reasonable point and return control to the user.
(Although this type of interruption is not currently available on
non-displays, it may soon be implemented for such terminals through a
similar mechanism.)
The following operations can be interrupted:
Making headline stories. If you interrupt NS while it is
doing this, the headline story will be left incomplete
(marked so by "..." at the end) but will be presented to you
as though it had been finished.
Outputting stories to a file. If you interrupt NS while it
is doing this, the output will be discarded. If the output
file was to have been spooled, it will not be.
Evaluating a keyword expression. NS will finish using the
day's data that is in core when you interrupt and then return
as if the evaluation of the expression had been completed.
Automatic reading of an input command file. This will be
disabled by any use of <ESC>I.
Command Summary Page 20
Command Summary
Here is a complete list of the command characters. The first two in
this list have not been mentioned elsewhere. Following the command
character list are lists of the switches, mnemonic commands and help
topics.
CHARS MEANINGS AS COMMAND CHARACTERS
E Exit to the monitor. Use this command when you are finished
reading the news. If you decide after exiting that you were
not finished, type the monitor command CONTINUE and you will
be back to the exact place where you were before you exited.
V On displays, redraw the current story frame on the screen.
On non-displays, type out the current frame again.
; (Semicolon) Mail the command line of text to [NS,ME] as a
comment or suggestion about NS. Please feel free to
complain about anything pertaining to NS.
? (Question mark) Present some helpful information about the
various commands. If the question mark is followed by the
name of a switch, mnemonic command or help topic, then
information on that subject will be given.
<space> Evaluate the keyword expression and/or switches that follow.
<tab> Evaluate last expression with following (optional) switches.
/ Evaluate the switch(es) and optional expression that follow.
: Execute the following mnemonic command.
@ Open following command file and read its first expression.
Q Read another expression from currently open command file.
T-G-B Search for the following string. See the section
"Presentation of the News".
Y-H-N Search for previous string or first keyword of expression.
U-J-M Move forward in story list by one story, part or frame.
I-K-, Move backward in the story list by one story, part or frame.
O-L-. Output current story list, current story or current part.
Any alphabetic command character that takes a following text argument
(currently the Search commands T,G,B and the Output commands O,L)
must be separated from its text argument by a space. The
frame-changing commands IK,UJM and digits which are part of a numeric
argument all activate immediately on displays without any control
bits or carriage return being typed.
Type <altmode> to abort a partially-typed command.
Command Summary Page 21
On displays:
Type <ESC>I to interrupt a long process already started.
Type [META]<cr> to reload your line editor with the last command line
containing a keyword expression.
Here is a list of the command characters organized approximately as
they appear on the keyboard. The type of text argument, if any,
which follows each command character, is indicated.
- - - -
<tab><temporary switches> @<input filename> ;<comment on NS>
Q E T<search string> Y U I O<output filename or device>
G<search string> H J K L<output filename or device>
V B<search string> N M , .<output filename or device>
<space><keyword expression> :<mnemonic command> ?<help subject>
- - - -
Below are the switches available, with brief explanations. For help
on any of these, type the switch with a question mark (?) instead of
a slash (/).
SWITCH MEANING OF POSITIVE SETTING
/AGAIN Do not remove stories already seen from new story lists.
/HEADLI Generate a headline story for each new story list.
/DPY Treat the terminal as a display (only if it really is one).
/CHRONO Construct new story lists in chronological order.
/AP Use the AP news as a source when evaluating an expression.
/NYT Use the NYT news as a source when evaluating an expression.
Next is a list of the mnemonic commands with brief descriptions. For
help on any of these, type the command with a question mark (?) in
place of the colon (:).
COMMAND DESCRIPTION
:HEADLINES Creates a headline story for your current story list.
:DSTORY Deletes current story (all parts) from your current list.
:DPART Deletes current part from your current story list.
:HELP Explains the main command characters.
:NOTICE Displays the current NS "notice of the day," if any.
:SWITCHES Lists the available switches.
Command Summary Page 22
:MODES Lists your current mode switch settings.
:EXCHANGE Exchanges your current and previous story lists.
:REVERSE Reversus the order of your current story list.
:COUNT Tells how many stories in your current story list.
:FRAME Sets frame size for non-displays (precede with size).
:DATES Types out current time/date range.
:UNSEEN Clears the list of stories already seen.
:COMMANDS Lists the names of these mnemonic commands.
Finally, here is the list of help topics. Type any of these to get
help on that subject.
HELP TOPIC DESCRIPTION
?OUTPUT How to output stories to a file or a printer.
?SPOOL Same as ?OUTPUT.
?CMDFILE How to use an input command file.
?KEYWORDS What constitutes a keyword or special form.
?EXPRESSIONS Construction of keyword expressions.
?MOVE Frame moving command characters.
?SEARCH Searching for a word in your current story list.
?CHARACTERS Keyboard chart briefly explaining command characters.
?TOPICS Lists of switches, mnemonic commands and help topics.
?EXAMPLES Some example NS command lines.
Using NS
To start NS, type the monitor command: "NS". Any characters that
follow the NS in the monitor command will be taken as the first
command line to NS.
The NS monitor command starts the program with some temporary
privileges that are needed by the program. Any subsequent monitor
command that attempts to change your core image or disk ALIAS will
disable these privileges and prevent NS from working.
When started up, NS will tell you for how far back in time news is
available. Whenever awaiting a command, NS will type out a space and
a dot (" .") to prompt the user. On non-displays, the space and dot
may appear at the end of a line of text from the current story.
Comments on the Format of News Service Stories Page 23
Comments on the Format of News Service Stories
Each story received over one of the news wires has a sequence number
which comes at the beginning of the story and a date and/or time that
come at the end. After the sequence number, we insert the date and
time (Pacific Time) we received the story. The sequence numbers
start over every day, with the first story that comes after about
midnight Eastern Time getting number 001. The sequence number
appearing at the beginning of a story will have a one letter prefix
that identifies the originating news wire: "a" for Associated Press
and "N" for New York Times.
Certain special stories are given sequence numbers out of the normal
order; these stories have numbers greater than 400 for the AP or
greater than 100 for the New York Times. The time at the end of each
story is put in by the wire service and is generally the local time
when the story was sent over the wire.
Every twelve hours (at about noon and midnight Eastern Time) there is
an AP news digest that summarizes the AP stories that are known to be
coming in over the next twelve hours. The digest at midnight is
usually story number a002 and is called the PMs digest; the one at
noon is usually number a202 and is called the AMs digest. No PMs
digest is sent for Sunday. AP stories that have been mentioned in
the latest digest bear the heading word "BJT" (pronounced "budget").
There are many stories every day that are corrections or additions to
previous stories. We try to link up each such follow-up with the
original and treat the resultant combination as one story. We call
each of the separately numbered news service stories a PART of the
total story. Long stories are usually broken up into smaller stories
by the wire services; the partial stories are called TAKES and each
gets its own sequence number. We sometimes link together several
takes just like additions and corrections. (There is currently no
attempt to link up related NY Times stories. Only AP stories are so
linked.)